package h_eekwan.basic;

import java.awt.geom.Area;

public class J16_OOP_Q72 {
	public static void main(String[] args) {
		// 상속, 인터페이스, 기본클래스를 이용해서
		// 사각형 둘레 및 면적 계산하는 프로그램 작성
		J16Retangle r = new J16Retangle(7,3);
//		J16Shape s = new J16Shape(7,3);
//		s.setWidth(7);
//		s.setHeight(3);
//		s.getWidth();
//		s.getHeight();
//		r.getArea();
//		r.getCircum();
		System.out.println(r.getArea());
		System.out.println(r.getCircum());
//		System.out.println(s.toString());
		
	}	// main
	
}	// class

//인터페이스
interface J16ShapeService{
	double getArea();
	double getCircum();
}

// class
class J16Shape implements J16ShapeService{
	private double width;
	private double height;
	
	public J16Shape () {}
	
	
	public J16Shape(double width, double height) {
	
		this.width = width;
		this.height = height;
	}


	public double getWidth() {
		return width;
	}

	public void setWidth(double width) {
		this.width = width;
	}

	public double getHeight() {
		return height;
	}

	public void setHeight(double height) {
		this.height = height;
	}


	@Override
	public String toString() {
		String result= "";
		result = " 가로  = " + width;
		result += " 세로 = " + height;
		return result;
	}


	@Override
	public double getArea() {
		
		return 0;
	}


	@Override
	public double getCircum() {
		
		return 0;
	}
	
}

class J16Retangle extends J16Shape {
	
	public J16Retangle () {}
	public J16Retangle ( double w, double h ){
		super( w , h);
		// 객체 초기화시
		// 부모클래스 Shape의 생성자를 이용
		// 한마디로, 알아서 불러와준다 오라클에 별칭개념.
	}
		
	
	@Override
	public double getArea() {
		double getArea = getWidth() * getHeight();
		return getArea;
	}
	@Override
	public double getCircum() {
		double getCircum = (2*getWidth()) + (2*getHeight());
		return getCircum;
		
	}	// main
	
}	// class

// 과제
// J16Circle : 원둘레, 원너비
// J16Triangle : 둘레, 너비
